<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>BIBLIO: /home/marco/workspace/biblio/src/bib.h File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">BIBLIO
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">/home/marco/workspace/biblio/src/bib.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>tipi e macro per la rappresentazione di volumi e schede bibliografiche  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;time.h&gt;</code><br/>
</div>
<p><a href="bib_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structautore.html">autore</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structprestito.html">prestito</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpubblicazione.html">pubblicazione</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structscheda.html">scheda</a></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#ae6a62047baeb4943b7272d52fbe9d506">LTAG</a>&#160;&#160;&#160;32</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a28e6e12dc288a90ffe21b2149ff6a946">LCOGN</a>&#160;&#160;&#160;256</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a791dcc283b3088a35b73cc370a2c7dc6">LNOME</a>&#160;&#160;&#160;256</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#ae8a0891bda70a8b005767d4abf867166">LANNO</a>&#160;&#160;&#160;4</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#adf93f6874eec76c37068dfdf5d356ce9">LSSTRING</a>&#160;&#160;&#160;64</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a9dbede8174e19bee24e514e6b6d9ae5b">LLSTRING</a>&#160;&#160;&#160;1024</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>&#160;&#160;&#160;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#aa93f0eb578d23995850d61f7d61c55c1">FALSE</a>&#160;&#160;&#160;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a94a9355898094a43596f429ebd6c6313">NCAMPI</a>&#160;&#160;&#160;9</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="bib_8h.html#a798796a74d9771ab70c2f72f48f9a856">campo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#af71d9d3d0f2e8db31b02ca34410ef246">campo_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structautore.html">autore</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#af046ae8d3bf828d4ea0ee53e937a633f">autore_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structprestito.html">prestito</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a519a323186199a877a297febde8cc4d1">prestito_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structpubblicazione.html">pubblicazione</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a1afe3ee2a7230b33203c925e1592778c">pubblicazione_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structscheda.html">scheda</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a798796a74d9771ab70c2f72f48f9a856">campo</a> { <br/>
&#160;&#160;<b>AUTORE</b>, 
<b>TITOLO</b>, 
<b>EDITORE</b>, 
<b>LUOGO_PUBBLICAZIONE</b>, 
<br/>
&#160;&#160;<b>ANNO</b>, 
<b>COLLOCAZIONE</b>, 
<b>DESCRIZIONE_FISICA</b>, 
<b>NOTA</b>, 
<br/>
&#160;&#160;<b>PRESTITO</b>
<br/>
 }</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a012f0957a057de5eafe85b6d17c54307">new_scheda</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#ae40e14c56c207005f34e0bae2033dd90">free_scheda</a> (<a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> **ps)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a9ace31c838db29996e47a878bbb2ba26">is_equal_scheda</a> (<a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *s1, <a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *s2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a2fa69248d64531b30506c689cf92a6a3">print_scheda</a> (FILE *f, <a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a370c6738dfd0494beae8f0c4d4bab045">record_to_scheda</a> (char *r, int l)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a510b7ebd374c02e1997b65350611135a">scheda_to_record</a> (<a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#aeb2bac0603823ee1f0e22b8f43728b1e">load_records</a> (FILE *fin, <a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> **psarray[])</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#ab3eb1b5de833e2fff25a542111a76ad0">store_records</a> (FILE *fout, <a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *sarray[], int n)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bib_8h.html#a2b27ee678dc66a1c32d3af3679728996">sort_schede</a> (<a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *sarray[], int n, <a class="el" href="bib_8h.html#af71d9d3d0f2e8db31b02ca34410ef246">campo_t</a> c)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>tipi e macro per la rappresentazione di volumi e schede bibliografiche </p>
<dl class="author"><dt><b>Author:</b></dt><dd>lso-lab 2012</dd></dl>
<p>FORMATO RECORD della scheda relativa ad un volume (usato per la stampa e la registrazione su file)</p>
<p>autore: Cognome/i (char*) , (virgola separatore) Nome/i (char*) titolo: stringa del titolo (char*) editore: nome editore (char*) luogo_pubblicazione: luogo pubblicazione (char*) anno: anno di 4 cifre (char*) prestito: data di restituzione del prestito gg-mm-aaaa (char *) se il campo e' assente il libro e' disponibile al prestito collocazione: stringa che rappresenta la collocazione dentro la biblioteca (char *) descrizione_fisica: stringa che descrive le caratteristiche fisiche del libro (numero di pagine altezza, illustrazioni etc ) (char*) nota: stringa di commento (char*)</p>
<p>NOTE: 1) i campi sono separati da ';' la scheda terminata da '<br/>
' 2) nelle stringhe non puo' comparire il separatore (;) e nella stringa nome e cognome dell'autore non puo' comparire nemmeno la virgola (,) ; 3) possono essere presenti spazi bianchi all'inizio ed alla fine di un campo (devono essere ignorati) 4) i campi si possono trovare in un ordine qualsiasi! Tuttavia l'ordine sopra descritto e' quello richiesto nelle funzioni di stampa (<a class="el" href="bib_8c.html#a2fa69248d64531b30506c689cf92a6a3">print_scheda()</a>) e di serializzazione (<a class="el" href="bib_8c.html#a510b7ebd374c02e1997b65350611135a">scheda_to_record()</a>) </p>
</div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="aa93f0eb578d23995850d61f7d61c55c1"></a><!-- doxytag: member="bib.h::FALSE" ref="aa93f0eb578d23995850d61f7d61c55c1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="bib_8h.html#aa93f0eb578d23995850d61f7d61c55c1">FALSE</a>&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>falso ... </p>

<p>Referenced by <a class="el" href="bib_8c.html#aa78ddffa1e54afc918662191fa714a1f">field_store()</a>, <a class="el" href="bib_8h.html#a9ace31c838db29996e47a878bbb2ba26">is_equal_scheda()</a>, <a class="el" href="bibclient_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main()</a>, <a class="el" href="bib_8h.html#a2fa69248d64531b30506c689cf92a6a3">print_scheda()</a>, and <a class="el" href="bib_8h.html#a510b7ebd374c02e1997b65350611135a">scheda_to_record()</a>.</p>

</div>
</div>
<a class="anchor" id="ae8a0891bda70a8b005767d4abf867166"></a><!-- doxytag: member="bib.h::LANNO" ref="ae8a0891bda70a8b005767d4abf867166" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="bib_8h.html#ae8a0891bda70a8b005767d4abf867166">LANNO</a>&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>lunghezza massima anno </p>

<p>Referenced by <a class="el" href="bib_8c.html#aa78ddffa1e54afc918662191fa714a1f">field_store()</a>, and <a class="el" href="bib_8h.html#a510b7ebd374c02e1997b65350611135a">scheda_to_record()</a>.</p>

</div>
</div>
<a class="anchor" id="a28e6e12dc288a90ffe21b2149ff6a946"></a><!-- doxytag: member="bib.h::LCOGN" ref="a28e6e12dc288a90ffe21b2149ff6a946" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="bib_8h.html#a28e6e12dc288a90ffe21b2149ff6a946">LCOGN</a>&#160;&#160;&#160;256</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>lunghezza massima cognome </p>

<p>Referenced by <a class="el" href="bib_8c.html#aa78ddffa1e54afc918662191fa714a1f">field_store()</a>, <a class="el" href="bib_8c.html#ad867cc076506ca25947c531509db036a">new_autore()</a>, and <a class="el" href="bib_8h.html#a510b7ebd374c02e1997b65350611135a">scheda_to_record()</a>.</p>

</div>
</div>
<a class="anchor" id="a9dbede8174e19bee24e514e6b6d9ae5b"></a><!-- doxytag: member="bib.h::LLSTRING" ref="a9dbede8174e19bee24e514e6b6d9ae5b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="bib_8h.html#a9dbede8174e19bee24e514e6b6d9ae5b">LLSTRING</a>&#160;&#160;&#160;1024</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>lunghezza massima campo stringa lungo (titolo, nota) </p>

<p>Referenced by <a class="el" href="bib_8c.html#aa78ddffa1e54afc918662191fa714a1f">field_store()</a>, <a class="el" href="bibclient_8h.html#a50fe4e9320fbfcdc05ac4fa6a9b1df95">parse_option()</a>, and <a class="el" href="bib_8h.html#a510b7ebd374c02e1997b65350611135a">scheda_to_record()</a>.</p>

</div>
</div>
<a class="anchor" id="a791dcc283b3088a35b73cc370a2c7dc6"></a><!-- doxytag: member="bib.h::LNOME" ref="a791dcc283b3088a35b73cc370a2c7dc6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="bib_8h.html#a791dcc283b3088a35b73cc370a2c7dc6">LNOME</a>&#160;&#160;&#160;256</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>lunghezza massima nome </p>

<p>Referenced by <a class="el" href="bib_8c.html#aa78ddffa1e54afc918662191fa714a1f">field_store()</a>, <a class="el" href="bib_8c.html#ad867cc076506ca25947c531509db036a">new_autore()</a>, and <a class="el" href="bib_8h.html#a510b7ebd374c02e1997b65350611135a">scheda_to_record()</a>.</p>

</div>
</div>
<a class="anchor" id="adf93f6874eec76c37068dfdf5d356ce9"></a><!-- doxytag: member="bib.h::LSSTRING" ref="adf93f6874eec76c37068dfdf5d356ce9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="bib_8h.html#adf93f6874eec76c37068dfdf5d356ce9">LSSTRING</a>&#160;&#160;&#160;64</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>lunghezza massima campo stringa corto (descrizione_fisica, prestito, editore, luogo_publicazione, collocazione) </p>

<p>Referenced by <a class="el" href="bib_8c.html#aa78ddffa1e54afc918662191fa714a1f">field_store()</a>, and <a class="el" href="bib_8h.html#a510b7ebd374c02e1997b65350611135a">scheda_to_record()</a>.</p>

</div>
</div>
<a class="anchor" id="ae6a62047baeb4943b7272d52fbe9d506"></a><!-- doxytag: member="bib.h::LTAG" ref="ae6a62047baeb4943b7272d52fbe9d506" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="bib_8h.html#ae6a62047baeb4943b7272d52fbe9d506">LTAG</a>&#160;&#160;&#160;32</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>lunghezza massima dell'etichetta di un campo (autore, titolo, etc ...) </p>

<p>Referenced by <a class="el" href="bib_8h.html#a510b7ebd374c02e1997b65350611135a">scheda_to_record()</a>.</p>

</div>
</div>
<a class="anchor" id="a94a9355898094a43596f429ebd6c6313"></a><!-- doxytag: member="bib.h::NCAMPI" ref="a94a9355898094a43596f429ebd6c6313" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="bib_8h.html#a94a9355898094a43596f429ebd6c6313">NCAMPI</a>&#160;&#160;&#160;9</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>numero campi previsti </p>

<p>Referenced by <a class="el" href="worker_8h.html#a5d8e444c648c6741f6639d3b8db0bf87">book_match()</a>, <a class="el" href="bib_8c.html#a2c3d873c7c5e2b2ae191536d58bd6795">field_match()</a>, <a class="el" href="worker_8h.html#a1a52066dd4cd954d0d04f7ccdcb3872d">lookup()</a>, <a class="el" href="bibclient_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main()</a>, <a class="el" href="bib_8c.html#a92a6aa4df4336a951d2ddd7ade816790">parse()</a>, <a class="el" href="bibclient_8h.html#a50fe4e9320fbfcdc05ac4fa6a9b1df95">parse_option()</a>, and <a class="el" href="bib_8h.html#a510b7ebd374c02e1997b65350611135a">scheda_to_record()</a>.</p>

</div>
</div>
<a class="anchor" id="aa8cecfc5c5c054d2875c03e77b7be15d"></a><!-- doxytag: member="bib.h::TRUE" ref="aa8cecfc5c5c054d2875c03e77b7be15d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="bib_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>vero ... </p>

<p>Referenced by <a class="el" href="bib_8h.html#a9ace31c838db29996e47a878bbb2ba26">is_equal_scheda()</a>, <a class="el" href="bibclient_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main()</a>, and <a class="el" href="bib_8h.html#a012f0957a057de5eafe85b6d17c54307">new_scheda()</a>.</p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="af046ae8d3bf828d4ea0ee53e937a633f"></a><!-- doxytag: member="bib.h::autore_t" ref="af046ae8d3bf828d4ea0ee53e937a633f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structautore.html">autore</a>  <a class="el" href="bib_8h.html#af046ae8d3bf828d4ea0ee53e937a633f">autore_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>elemento della lista autori </p>

</div>
</div>
<a class="anchor" id="af71d9d3d0f2e8db31b02ca34410ef246"></a><!-- doxytag: member="bib.h::campo_t" ref="af71d9d3d0f2e8db31b02ca34410ef246" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="bib_8h.html#a798796a74d9771ab70c2f72f48f9a856">campo</a>  <a class="el" href="bib_8h.html#af71d9d3d0f2e8db31b02ca34410ef246">campo_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>descrizione campi previsti </p>

</div>
</div>
<a class="anchor" id="a519a323186199a877a297febde8cc4d1"></a><!-- doxytag: member="bib.h::prestito_t" ref="a519a323186199a877a297febde8cc4d1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structprestito.html">prestito</a>  <a class="el" href="bib_8h.html#a519a323186199a877a297febde8cc4d1">prestito_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>descrizione prestito </p>

</div>
</div>
<a class="anchor" id="a1afe3ee2a7230b33203c925e1592778c"></a><!-- doxytag: member="bib.h::pubblicazione_t" ref="a1afe3ee2a7230b33203c925e1592778c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structpubblicazione.html">pubblicazione</a>  <a class="el" href="bib_8h.html#a1afe3ee2a7230b33203c925e1592778c">pubblicazione_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>descrizione pubblicazione </p>

</div>
</div>
<a class="anchor" id="a20e8400f11091455ae779864b085d5cd"></a><!-- doxytag: member="bib.h::scheda_t" ref="a20e8400f11091455ae779864b085d5cd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structscheda.html">scheda</a>  <a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>scheda bibliografica </p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="a798796a74d9771ab70c2f72f48f9a856"></a><!-- doxytag: member="bib.h::campo" ref="a798796a74d9771ab70c2f72f48f9a856" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="bib_8h.html#a798796a74d9771ab70c2f72f48f9a856">campo</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>descrizione campi previsti </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ae40e14c56c207005f34e0bae2033dd90"></a><!-- doxytag: member="bib.h::free_scheda" ref="ae40e14c56c207005f34e0bae2033dd90" args="(scheda_t **ps)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="bib_8h.html#ae40e14c56c207005f34e0bae2033dd90">free_scheda</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> **&#160;</td>
          <td class="paramname"><em>ps</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>libera la memoria occupata da una scheda</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ps</td><td>puntatore al puntatore alla scheda (*ps viene settato a NULL dalla funzione) </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="bib_8c.html#ac1e42785159fd6f534c6c3f97225deea">free_autore()</a>.</p>

<p>Referenced by <a class="el" href="bib_8h.html#a370c6738dfd0494beae8f0c4d4bab045">record_to_scheda()</a>.</p>

</div>
</div>
<a class="anchor" id="a9ace31c838db29996e47a878bbb2ba26"></a><!-- doxytag: member="bib.h::is_equal_scheda" ref="a9ace31c838db29996e47a878bbb2ba26" args="(scheda_t *s1, scheda_t *s2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="bib_8h.html#a9ace31c838db29996e47a878bbb2ba26">is_equal_scheda</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *&#160;</td>
          <td class="paramname"><em>s1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *&#160;</td>
          <td class="paramname"><em>s2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>confronta due schede </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">s1</td><td>puntatore alla prima scheda </td></tr>
    <tr><td class="paramname">s2</td><td>puntatore alla seconda scheda</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE se le schede sono uguali (tutti i campi sono uguali) e </dd>
<dd>
FALSE altrimenti </dd></dl>

<p>References <a class="el" href="structpubblicazione.html#a99e5b4dc1ea28b771a3a252874350f68">pubblicazione::anno</a>, <a class="el" href="structscheda.html#ac607cadabc9b74ca4f4e9a6fd7ae126f">scheda::autore</a>, <a class="el" href="structautore.html#a36c8a5f6fb6fb0bcbfeb048b6ace7598">autore::cognome</a>, <a class="el" href="structscheda.html#a4d52097908ce95230d2086c645a7995d">scheda::collocazione</a>, <a class="el" href="structscheda.html#af67064d05c9029300f5fb41878da199e">scheda::descrizione_fisica</a>, <a class="el" href="structprestito.html#a2810dc6719559e387c47c8b9f06dafa6">prestito::disponibile</a>, <a class="el" href="structpubblicazione.html#a36b67891a21606252b5755e7d3dc64b3">pubblicazione::editore</a>, <a class="el" href="bib_8h.html#aa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="structpubblicazione.html#a2c03564c60296c70361739f300573edd">pubblicazione::luogo</a>, <a class="el" href="structautore.html#a1ef38b1313b340ae6472862d08ab6682">autore::next</a>, <a class="el" href="structautore.html#a462d9b6df287f19833696f3b50384b9b">autore::nome</a>, <a class="el" href="structscheda.html#a88969ed00efdfa463967b2be64e8431b">scheda::nota</a>, <a class="el" href="structscheda.html#ac7fe94ef514573c623c695b5597190c4">scheda::prestito</a>, <a class="el" href="structscheda.html#a75c191e014448496afb0f1dcd690e279">scheda::pub</a>, <a class="el" href="structprestito.html#a27ce9931f8a6d50c8e42722eca9cb325">prestito::scadenza</a>, <a class="el" href="structscheda.html#a724319bee26af032b620dd2f6e0c9a0b">scheda::titolo</a>, and <a class="el" href="bib_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>

</div>
</div>
<a class="anchor" id="aeb2bac0603823ee1f0e22b8f43728b1e"></a><!-- doxytag: member="bib.h::load_records" ref="aeb2bac0603823ee1f0e22b8f43728b1e" args="(FILE *fin, scheda_t **psarray[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="bib_8h.html#aeb2bac0603823ee1f0e22b8f43728b1e">load_records</a> </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> **&#160;</td>
          <td class="paramname"><em>psarray</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>legge tutti i record da un file e li memorizza in un array -- i record malformati vengono scartati ma se c'e' almeno un record convertibile corretamente la funzione ha successo</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fin</td><td>stream da cui leggere i record </td></tr>
    <tr><td class="paramname">psarray</td><td>puntatore alla variabile che conterra' l'indirizzo dell'array di puntatori alle schede (allocato), significativo se n &gt;0</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>-1 se si e' verificato un errore (setta errno) </dd>
<dd>
n (n &gt; 0) numero di record convertiti correttamente (ampiezza dell'array di schede) in questo caso *psarray contiene l'indirizzo dell'array allocato </dd></dl>

<p>References <a class="el" href="bib_8c.html#a370c6738dfd0494beae8f0c4d4bab045">record_to_scheda()</a>, and <a class="el" href="bibserver_8c.html#ab18693215565ea1a797096dfe19e895f">records</a>.</p>

<p>Referenced by <a class="el" href="bibserver_8h.html#a20fc82d55de724cea43db877925aff49">init()</a>.</p>

</div>
</div>
<a class="anchor" id="a012f0957a057de5eafe85b6d17c54307"></a><!-- doxytag: member="bib.h::new_scheda" ref="a012f0957a057de5eafe85b6d17c54307" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a>* <a class="el" href="bib_8h.html#a012f0957a057de5eafe85b6d17c54307">new_scheda</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>crea ed inizializza una nuova scheda </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>res la nuova scheda (allocata all'interno della funzione) </dd>
<dd>
NULL se ci sono stati problemi (setta errno) </dd></dl>

<p>References <a class="el" href="structscheda.html#ac607cadabc9b74ca4f4e9a6fd7ae126f">scheda::autore</a>, <a class="el" href="structprestito.html#a2810dc6719559e387c47c8b9f06dafa6">prestito::disponibile</a>, <a class="el" href="structscheda.html#ac7fe94ef514573c623c695b5597190c4">scheda::prestito</a>, <a class="el" href="bibclient_8c.html#aca0c4f41341a2be05205f12c5431ba8f">res</a>, and <a class="el" href="bib_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>.</p>

<p>Referenced by <a class="el" href="bib_8h.html#a370c6738dfd0494beae8f0c4d4bab045">record_to_scheda()</a>.</p>

</div>
</div>
<a class="anchor" id="a2fa69248d64531b30506c689cf92a6a3"></a><!-- doxytag: member="bib.h::print_scheda" ref="a2fa69248d64531b30506c689cf92a6a3" args="(FILE *f, scheda_t *s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="bib_8h.html#a2fa69248d64531b30506c689cf92a6a3">print_scheda</a> </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>f</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *&#160;</td>
          <td class="paramname"><em>s</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>stampa la scheda in formato ECORD (vedi sopra) sullo stream specificato</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">f</td><td>stream di output </td></tr>
    <tr><td class="paramname">s</td><td>puntatore alla scheda</td></tr>
  </table>
  </dd>
</dl>
<p>FORMATO RECORD della scheda relativa ad un volume (usato per la stampa e la registrazione su file) autore: Cognome/i (char*) , (virgola separatore) Nome/i (char*) titolo: stringa del titolo (char*) editore: nome editore (char*) luogo_pubblicazione: luogo pubblicazione (char*) anno: anno di 4 cifre (char*) prestito: data di restituzione del prestito gg-mm-aaaa (char *) se il campo e' assente il libro e' disponibile al prestito collocazione: stringa che rappresenta la collocazione dentro la biblioteca (char *) descrizione_fisica: stringa che descrive le caratteristiche fisiche del libro (numero di pagine altezza, illustrazioni etc ) (char*) nota: stringa di commento (char*)</p>
<p>NOTE: 1) i campi sono separati da ';' la scheda terminata da '<br/>
' 2) nelle stringhe non puo' comparire il separatore (;) e nella stringa nome e cognome dell'autore non puo' comparire nemmeno la virgola (,) ; 3) possono essere presenti spazi bianchi all'inizio ed alla fine di un campo (devono essere ignorati) 4) i campi si possono trovare in un ordine qualsiasi! Tuttavia l'ordine sopra descritto e' quello richiesto nelle funzioni di stampa (<a class="el" href="bib_8c.html#a2fa69248d64531b30506c689cf92a6a3">print_scheda()</a>) e di serializzazione (<a class="el" href="bib_8c.html#a510b7ebd374c02e1997b65350611135a">scheda_to_record()</a>) stampa la scheda in formato ECORD (vedi sopra) sullo stream specificato</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">f</td><td>stream di output </td></tr>
    <tr><td class="paramname">s</td><td>puntatore alla scheda </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structpubblicazione.html#a99e5b4dc1ea28b771a3a252874350f68">pubblicazione::anno</a>, <a class="el" href="structscheda.html#ac607cadabc9b74ca4f4e9a6fd7ae126f">scheda::autore</a>, <a class="el" href="structautore.html#a36c8a5f6fb6fb0bcbfeb048b6ace7598">autore::cognome</a>, <a class="el" href="structscheda.html#a4d52097908ce95230d2086c645a7995d">scheda::collocazione</a>, <a class="el" href="structscheda.html#af67064d05c9029300f5fb41878da199e">scheda::descrizione_fisica</a>, <a class="el" href="structprestito.html#a2810dc6719559e387c47c8b9f06dafa6">prestito::disponibile</a>, <a class="el" href="structpubblicazione.html#a36b67891a21606252b5755e7d3dc64b3">pubblicazione::editore</a>, <a class="el" href="bib_8h.html#aa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="structpubblicazione.html#a2c03564c60296c70361739f300573edd">pubblicazione::luogo</a>, <a class="el" href="structautore.html#a1ef38b1313b340ae6472862d08ab6682">autore::next</a>, <a class="el" href="structautore.html#a462d9b6df287f19833696f3b50384b9b">autore::nome</a>, <a class="el" href="structscheda.html#a88969ed00efdfa463967b2be64e8431b">scheda::nota</a>, <a class="el" href="structscheda.html#ac7fe94ef514573c623c695b5597190c4">scheda::prestito</a>, <a class="el" href="structscheda.html#a75c191e014448496afb0f1dcd690e279">scheda::pub</a>, <a class="el" href="structprestito.html#a27ce9931f8a6d50c8e42722eca9cb325">prestito::scadenza</a>, and <a class="el" href="structscheda.html#a724319bee26af032b620dd2f6e0c9a0b">scheda::titolo</a>.</p>

<p>Referenced by <a class="el" href="bib_8h.html#ab3eb1b5de833e2fff25a542111a76ad0">store_records()</a>.</p>

</div>
</div>
<a class="anchor" id="a370c6738dfd0494beae8f0c4d4bab045"></a><!-- doxytag: member="bib.h::record_to_scheda" ref="a370c6738dfd0494beae8f0c4d4bab045" args="(char *r, int l)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a>* <a class="el" href="bib_8h.html#a370c6738dfd0494beae8f0c4d4bab045">record_to_scheda</a> </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>l</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>trasforma un record in una scheda </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">r</td><td>record da trasformare (non viene modificato) </td></tr>
    <tr><td class="paramname">l</td><td>lunghezza massima del record (serve ad evitare l'overrun ...)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>res la nuova scheda (allocata all'interno della funzione) </dd>
<dd>
NULL se ci sono stati problemi (setta errno) errno=EINVAL per stringa mal formattata </dd></dl>

<p>References <a class="el" href="bib_8c.html#ae40e14c56c207005f34e0bae2033dd90">free_scheda()</a>, <a class="el" href="bib_8c.html#a012f0957a057de5eafe85b6d17c54307">new_scheda()</a>, and <a class="el" href="bib_8c.html#a92a6aa4df4336a951d2ddd7ade816790">parse()</a>.</p>

<p>Referenced by <a class="el" href="bib_8h.html#aeb2bac0603823ee1f0e22b8f43728b1e">load_records()</a>.</p>

</div>
</div>
<a class="anchor" id="a510b7ebd374c02e1997b65350611135a"></a><!-- doxytag: member="bib.h::scheda_to_record" ref="a510b7ebd374c02e1997b65350611135a" args="(scheda_t *s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="bib_8h.html#a510b7ebd374c02e1997b65350611135a">scheda_to_record</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>trasforma una scheda in un record </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>la scheda da trasformare</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>r il puntatore al record che rappresenta la scheda (allocato all'interno della funzione) </dd>
<dd>
NULL se ci sono stati problemi (setta errno) </dd></dl>

<p>References <a class="el" href="structpubblicazione.html#a99e5b4dc1ea28b771a3a252874350f68">pubblicazione::anno</a>, <a class="el" href="structscheda.html#ac607cadabc9b74ca4f4e9a6fd7ae126f">scheda::autore</a>, <a class="el" href="structautore.html#a36c8a5f6fb6fb0bcbfeb048b6ace7598">autore::cognome</a>, <a class="el" href="structscheda.html#a4d52097908ce95230d2086c645a7995d">scheda::collocazione</a>, <a class="el" href="structscheda.html#af67064d05c9029300f5fb41878da199e">scheda::descrizione_fisica</a>, <a class="el" href="structprestito.html#a2810dc6719559e387c47c8b9f06dafa6">prestito::disponibile</a>, <a class="el" href="structpubblicazione.html#a36b67891a21606252b5755e7d3dc64b3">pubblicazione::editore</a>, <a class="el" href="bib_8h.html#aa93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="bib_8h.html#ae8a0891bda70a8b005767d4abf867166">LANNO</a>, <a class="el" href="bib_8h.html#a28e6e12dc288a90ffe21b2149ff6a946">LCOGN</a>, <a class="el" href="bib_8h.html#a9dbede8174e19bee24e514e6b6d9ae5b">LLSTRING</a>, <a class="el" href="bib_8h.html#a791dcc283b3088a35b73cc370a2c7dc6">LNOME</a>, <a class="el" href="bib_8h.html#adf93f6874eec76c37068dfdf5d356ce9">LSSTRING</a>, <a class="el" href="bib_8h.html#ae6a62047baeb4943b7272d52fbe9d506">LTAG</a>, <a class="el" href="structpubblicazione.html#a2c03564c60296c70361739f300573edd">pubblicazione::luogo</a>, <a class="el" href="bib_8h.html#a94a9355898094a43596f429ebd6c6313">NCAMPI</a>, <a class="el" href="structautore.html#a1ef38b1313b340ae6472862d08ab6682">autore::next</a>, <a class="el" href="structautore.html#a462d9b6df287f19833696f3b50384b9b">autore::nome</a>, <a class="el" href="structscheda.html#a88969ed00efdfa463967b2be64e8431b">scheda::nota</a>, <a class="el" href="structscheda.html#ac7fe94ef514573c623c695b5597190c4">scheda::prestito</a>, <a class="el" href="structscheda.html#a75c191e014448496afb0f1dcd690e279">scheda::pub</a>, <a class="el" href="structprestito.html#a27ce9931f8a6d50c8e42722eca9cb325">prestito::scadenza</a>, and <a class="el" href="structscheda.html#a724319bee26af032b620dd2f6e0c9a0b">scheda::titolo</a>.</p>

</div>
</div>
<a class="anchor" id="a2b27ee678dc66a1c32d3af3679728996"></a><!-- doxytag: member="bib.h::sort_schede" ref="a2b27ee678dc66a1c32d3af3679728996" args="(scheda_t *sarray[], int n, campo_t c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="bib_8h.html#a2b27ee678dc66a1c32d3af3679728996">sort_schede</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *&#160;</td>
          <td class="paramname"><em>sarray</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bib_8h.html#af71d9d3d0f2e8db31b02ca34410ef246">campo_t</a>&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>ordina i record nell'array relativamente al campo specificato. Gli ordinamenti definiti per i vari campi sono i seguenti: AUTORE -- lessicografico (Cognome Nome) sulla lista degli autori TITOLO, EDITORE, LUOGO_PUBBLICAZIONE, COLLOCAZONE, DESCRIZIONE_FISICA, NOTA -- Lessicografico sulla stringa ANNO -- crescente PRESTITO -- crescente</p>
<p>Nota: per ordine Lessicografico si intende quello normalmente usato nella strcmp()</p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sarray</td><td>puntatore array da ordinare (viene modificato durante l'ordinamento) </td></tr>
    <tr><td class="paramname">n</td><td>lunghezza array </td></tr>
    <tr><td class="paramname">c</td><td>campo rispetto al quale ordinare</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>-1 se si e' verificato un errore (setta errno) (in questo caso s e' invariato) </dd>
<dd>
0 se tutto e' andato bene </dd></dl>

<p>References <a class="el" href="bib_8c.html#a12350d5340bfb29f5d7c2fb59785c423">anno_cmp()</a>, <a class="el" href="bib_8c.html#a994cbe28f0c330b795e99cdb20c3810a">autore_cmp()</a>, <a class="el" href="bib_8c.html#af841441298b02f287543a49ecdda4a52">colloc_cmp()</a>, <a class="el" href="bib_8c.html#a3c5b26963be5a15f6daaad2d39c88447">descr_cmp()</a>, <a class="el" href="bib_8c.html#a3c5853644d76e84dbe16a8b1695e9eaf">editore_cmp()</a>, <a class="el" href="bib_8c.html#a33e6998b79d86ee250a51f65ba5779b1">luogo_cmp()</a>, <a class="el" href="bib_8c.html#a0378567ec467b9a57ee85a47a8f6a03d">nota_cmp()</a>, <a class="el" href="bib_8c.html#aa2c800b7928cb6e960e0d46ae89b7b5b">prestito_cmp()</a>, and <a class="el" href="bib_8c.html#a93a2e589dca43a1c56da2125fd16af03">titolo_cmp()</a>.</p>

</div>
</div>
<a class="anchor" id="ab3eb1b5de833e2fff25a542111a76ad0"></a><!-- doxytag: member="bib.h::store_records" ref="ab3eb1b5de833e2fff25a542111a76ad0" args="(FILE *fout, scheda_t *sarray[], int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="bib_8h.html#ab3eb1b5de833e2fff25a542111a76ad0">store_records</a> </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fout</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="bib_8h.html#a20e8400f11091455ae779864b085d5cd">scheda_t</a> *&#160;</td>
          <td class="paramname"><em>sarray</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>scrive su file un array di schede sotto forma di record </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fout</td><td>stream su cui scrivere i record </td></tr>
    <tr><td class="paramname">sarray</td><td>puntatore all'array di puntatori alle schede </td></tr>
    <tr><td class="paramname">n</td><td>numero schede nell'array</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>-1 se si e' verificato un errore (setta errno) -- nota l'errore nella scrittura di un singolo record viene riportato nel numero di record scritti, non provoca il ritorno di (-1) </dd>
<dd>
n (n &gt; 0) numero di record scritti correttamente </dd></dl>

<p>References <a class="el" href="bib_8c.html#a2fa69248d64531b30506c689cf92a6a3">print_scheda()</a>, and <a class="el" href="bibserver_8c.html#ab18693215565ea1a797096dfe19e895f">records</a>.</p>

<p>Referenced by <a class="el" href="bibserver_8h.html#a84e414317c5f9ca3e549c1c419f2acc4">save()</a>.</p>

</div>
</div>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Fri Jun 29 2012 10:36:44 for BIBLIO by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>
